Static Random Access Memory (SRAM) is a type of semiconductor memory that uses bi-stable latching circuitry to store each bit. SRAM is used as data storage in many electronic devices and is often used to implement programmable logic integrated circuits (ICs). Programmable logic ICs, such as field programmable gate arrays (FPGAs), are user configurable and capable of implementing digital logic operations. FPGAs include configurable logic blocks (CLBs) arranged in rows and columns, input/output blocks (IOBs) surrounding the CLBs, and programmable interconnect lines that extend between the rows and columns of CLBs. The CLBs, IOBs and interconnect lines may be configured to implement a particular design with configuration data stored in SRAM of the FPGA.
The versatility of reprogrammable ICs is advantageous in applications such as aerospace, where remote reconfiguration is preferred over physical replacement. However, many aerospace applications expose components to environments where a relatively high level of radiation is present, which can cause an error in an SRAM cell. A radiation laden environment contains charged particles that interact with silicon atoms. When a single heavy ion strikes a silicon substrate, it loses energy through the creation of free electron hole pairs. This results in a dense ionized track in the local region, generating a current pulse that can upset the circuit. This is known as a single event upset (SEU), or soft error. An SEU can also be caused by alpha particles. Alpha particles are generated when a neutron strikes a silicon substrate. The alpha particles travel through the substrate and generate charge clusters within a limited silicon volume. Alpha particles can be generated from high energy neutrons as well as neutrons that have lost enough kinetic energy to be at thermal equilibrium with the operating environment. Alpha particles can also be generated through the decay of a small amount of radioactive contaminants in semiconductor packages.
In many circuits, an SEU may have only a transient effect following the particle strike, with the variation disappearing depending on the logic delay of the circuit. However, in circuits containing SRAM, an SEU occurring in an SRAM cell may cause the cell to change state and store an incorrect bit. In programmable logic circuits, which include memory cells whose stored values determine the function of each logic block, an SEU can change the function of the programmed logic such that the programmed logic will not function as intended until the programmable logic is reconfigured.